package modulo4.util;

import java.util.Formattable;
import java.util.Formatter;

/**
 *
 * @author jjsanche
 */
public class CenteredFormat implements Formattable {

    private String cadena;

    public CenteredFormat(String cadena) {
        this.cadena = cadena;
    }

    @Override
    public void formatTo(Formatter formatter, int flags, int width, int precision) {

        if (cadena.length() < width) {
            StringBuilder nuevaCadena = new StringBuilder(cadena);
            int espaciosAgregar = width - cadena.length();
            int mitadEspacios = espaciosAgregar / 2;

            int index;
            for (int i = 0; i < espaciosAgregar; i++, mitadEspacios--) {
                index = mitadEspacios > 0 ? 0 : nuevaCadena.length();

                nuevaCadena.insert(index, ' ');
            }

            formatter.format("%s", nuevaCadena);
        }
    }
}